package net.schmurgon.gwt.request;

import com.google.gwt.valuestore.shared.Record;
import org.springframework.roo.addon.gwt.RooGwtMirroredFrom;
import net.schmurgon.server.domain.Course;
import com.google.gwt.requestfactory.shared.DataTransferObject;
import com.google.gwt.valuestore.shared.Property;
import net.schmurgon.gwt.shared.CourseType;

@RooGwtMirroredFrom(Course.class)
@DataTransferObject(Course.class)
public interface CourseRecord extends Record {

    public String TOKEN = "CourseRecord";

    Property<net.schmurgon.gwt.shared.CourseType> courseType = new com.google.gwt.valuestore.shared.EnumProperty<net.schmurgon.gwt.shared.CourseType>("courseType", net.schmurgon.gwt.shared.CourseType.class, net.schmurgon.gwt.shared.CourseType.values());

    Property<java.lang.Double> distance = new com.google.gwt.valuestore.shared.Property<java.lang.Double>("distance", "Distance", java.lang.Double.class);

    Property<java.lang.String> mapUrl = new com.google.gwt.valuestore.shared.Property<java.lang.String>("mapUrl", "Map Url", java.lang.String.class);

    abstract CourseType getCourseType();

    abstract Double getDistance();

    abstract String getMapUrl();

    abstract boolean isChanged();

    abstract void setCourseType(CourseType courseType);

    abstract void setDistance(Double distance);

    abstract void setMapUrl(String mapUrl);
}
